from django.urls import path, converters, register_converter

from book.views import create_book, test1, register, register_json, res, set_cookie, get_cookie, set_session, \
    get_session, login
from book.views import LoginView


# 根据需要自定义转化器
class MobileConverter:
    regex = '1[3-9]\d{9}'

    # 验证没有问题的数据，给视图函数
    def to_python(self, value):
        return int(value)

    def to_url(self, value):
        return str(value)


# 注册转化器
register_converter(MobileConverter, "phone")

urlpatterns = [
    path('create/', create_book),

    # <转换器名字：变量名>
    # 转换器会对变量数据进行 正则验证
    # 验证数据的关键时正则
    # 验证没问题的数据给视图函数

    path("<int:pram1>/<phone:pram2>", test1),
    path("register", register),
    path("json", register_json),
    path('res', res),
    path('set_cookie', set_cookie),
    path('get_cookie', get_cookie),
    path('set_session', set_session),
    path('get_session', get_session),
    path('login', login),

    ########## 类视图 ##############
    path('163login', LoginView.as_view())
]

"""
class MobileConverter:
    regex = '1[3-9]\d{9}'

    # 验证没有问题的数据，给视图函数
    def to_python(self, value):
        return int(value)

    def to_url(self, value):
        return str(value)
"""
